package com.yzlwb.skt.service;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.yzlwb.skt.domain.SktProject;

/**
 * 司空项目Service接口
 * 
 * @author wfy
 * @date 2025-11-06
 */
public interface ISktProjectService 
{
    /**
     * 查询司空项目
     * 
     * @param id 司空项目主键
     * @return 司空项目
     */
    public SktProject selectSktProjectById(Long id);

    /**
     * 查询司空项目列表
     * 
     * @param sktProject 司空项目
     * @return 司空项目集合
     */
    public List<SktProject> selectSktProjectList(SktProject sktProject);

    /**
     * 新增司空项目
     * 
     * @param sktProject 司空项目
     * @return 结果
     */
    public int insertSktProject(SktProject sktProject);

    /**
     * 修改司空项目
     * 
     * @param sktProject 司空项目
     * @return 结果
     */
    public int updateSktProject(SktProject sktProject);

    /**
     * 批量删除司空项目
     * 
     * @param ids 需要删除的司空项目主键集合
     * @return 结果
     */
    public int deleteSktProjectByIds(Long[] ids);

    /**
     * 删除司空项目信息
     * 
     * @param id 司空项目主键
     * @return 结果
     */
    public int deleteSktProjectById(Long id);

    /**
     * 司空二项目信息更新
     * @param deptId
     * @return
     */
    public int updateDeptByTwoUserTokenAndTwoName(Long deptId);

    /**
     * 根据司空二组织密钥获取获取项目信息
     * @return
     */
    JSONArray getSkProjectInfoList(String twoUserToken);

    /**
     * * 保存-系统项目关联司空二项目
     * @param deptId 项目
     * @param twoUserToken 连接密钥
     * @param twoName 司空项目名称，多个用@符号隔开
     * @return
     */
    int deptAssociationSkProject(Long deptId,String twoUserToken, String twoNames);

    List<JSONObject> getSkDevice(String twoUserToken,String twoProjectUuid);
}
